home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-06-08 | 58.2 KB | 2,335 lines |
- #define EXTERN extern
- #include "texd.h"
-
- initialize () {
- initialize_regmem
- schar i ;
- integer k ;
- hyphpointer z ;
- xchr [ 32 ] = ' ' ;
- xchr [ 33 ] = '!' ;
- xchr [ 34 ] = '"' ;
- xchr [ 35 ] = '#' ;
- xchr [ 36 ] = '$' ;
- xchr [ 37 ] = '%' ;
- xchr [ 38 ] = '&' ;
- xchr [ 39 ] = '\'' ;
- xchr [ 40 ] = '(' ;
- xchr [ 41 ] = ')' ;
- xchr [ 42 ] = '*' ;
- xchr [ 43 ] = '+' ;
- xchr [ 44 ] = ',' ;
- xchr [ 45 ] = '-' ;
- xchr [ 46 ] = '.' ;
- xchr [ 47 ] = '/' ;
- xchr [ 48 ] = '0' ;
- xchr [ 49 ] = '1' ;
- xchr [ 50 ] = '2' ;
- xchr [ 51 ] = '3' ;
- xchr [ 52 ] = '4' ;
- xchr [ 53 ] = '5' ;
- xchr [ 54 ] = '6' ;
- xchr [ 55 ] = '7' ;
- xchr [ 56 ] = '8' ;
- xchr [ 57 ] = '9' ;
- xchr [ 58 ] = ':' ;
- xchr [ 59 ] = ';' ;
- xchr [ 60 ] = '<' ;
- xchr [ 61 ] = '=' ;
- xchr [ 62 ] = '>' ;
- xchr [ 63 ] = '?' ;
- xchr [ 64 ] = '@' ;
- xchr [ 65 ] = 'A' ;
- xchr [ 66 ] = 'B' ;
- xchr [ 67 ] = 'C' ;
- xchr [ 68 ] = 'D' ;
- xchr [ 69 ] = 'E' ;
- xchr [ 70 ] = 'F' ;
- xchr [ 71 ] = 'G' ;
- xchr [ 72 ] = 'H' ;
- xchr [ 73 ] = 'I' ;
- xchr [ 74 ] = 'J' ;
- xchr [ 75 ] = 'K' ;
- xchr [ 76 ] = 'L' ;
- xchr [ 77 ] = 'M' ;
- xchr [ 78 ] = 'N' ;
- xchr [ 79 ] = 'O' ;
- xchr [ 80 ] = 'P' ;
- xchr [ 81 ] = 'Q' ;
- xchr [ 82 ] = 'R' ;
- xchr [ 83 ] = 'S' ;
- xchr [ 84 ] = 'T' ;
- xchr [ 85 ] = 'U' ;
- xchr [ 86 ] = 'V' ;
- xchr [ 87 ] = 'W' ;
- xchr [ 88 ] = 'X' ;
- xchr [ 89 ] = 'Y' ;
- xchr [ 90 ] = 'Z' ;
- xchr [ 91 ] = '[' ;
- xchr [ 92 ] = '\\' ;
- xchr [ 93 ] = ']' ;
- xchr [ 94 ] = '^' ;
- xchr [ 95 ] = '_' ;
- xchr [ 96 ] = '`' ;
- xchr [ 97 ] = 'a' ;
- xchr [ 98 ] = 'b' ;
- xchr [ 99 ] = 'c' ;
- xchr [ 100 ] = 'd' ;
- xchr [ 101 ] = 'e' ;
- xchr [ 102 ] = 'f' ;
- xchr [ 103 ] = 'g' ;
- xchr [ 104 ] = 'h' ;
- xchr [ 105 ] = 'i' ;
- xchr [ 106 ] = 'j' ;
- xchr [ 107 ] = 'k' ;
- xchr [ 108 ] = 'l' ;
- xchr [ 109 ] = 'm' ;
- xchr [ 110 ] = 'n' ;
- xchr [ 111 ] = 'o' ;
- xchr [ 112 ] = 'p' ;
- xchr [ 113 ] = 'q' ;
- xchr [ 114 ] = 'r' ;
- xchr [ 115 ] = 's' ;
- xchr [ 116 ] = 't' ;
- xchr [ 117 ] = 'u' ;
- xchr [ 118 ] = 'v' ;
- xchr [ 119 ] = 'w' ;
- xchr [ 120 ] = 'x' ;
- xchr [ 121 ] = 'y' ;
- xchr [ 122 ] = 'z' ;
- xchr [ 123 ] = '{' ;
- xchr [ 124 ] = '|' ;
- xchr [ 125 ] = '}' ;
- xchr [ 126 ] = '~' ;
- xchr [ 0 ] = ' ' ;
- xchr [ 127 ] = ' ' ;
- {register integer for_end; i = 1 ; for_end = 31 ; if ( i <= for_end) do
- xchr [ i ] = chr ( i ) ;
- while ( i++ < for_end ) ; }
- {register integer for_end; i = 0 ; for_end = 127 ; if ( i <= for_end) do
- xord [ chr ( i ) ] = 127 ;
- while ( i++ < for_end ) ; }
- {register integer for_end; i = 1 ; for_end = 126 ; if ( i <= for_end) do
- xord [ xchr [ i ] ] = i ;
- while ( i++ < for_end ) ; }
- interaction = 3 ;
- deletionsallowed = true ;
- errorcount = 0 ;
- helpptr = 0 ;
- useerrhelp = false ;
- interrupt = 0 ;
- OKtointerrupt = true ;
- ;
- #ifdef DEBUG
- wasmemend = memmin ;
- waslomax = memmin ;
- washimin = memmax ;
- panicking = false ;
- #endif /* DEBUG */
- nestptr = 0 ;
- maxneststack = 0 ;
- curlist .modefield = 1 ;
- curlist .headfield = memtop - 1 ;
- curlist .tailfield = memtop - 1 ;
- curlist .auxfield = -65536000L ;
- curlist .mlfield = 0 ;
- curlist .pgfield = 0 ;
- shownmode = 0 ;
- pagecontents = 0 ;
- pagetail = memtop - 2 ;
- mem [ memtop - 2 ] .hh .v.RH = 0 ;
- lastglue = 65535L ;
- lastpenalty = 0 ;
- lastkern = 0 ;
- pagesofar [ 7 ] = 0 ;
- pagemaxdepth = 0 ;
- {register integer for_end; k = 5267 ; for_end = 5976 ; if ( k <= for_end)
- do
- xeqlevel [ k ] = 1 ;
- while ( k++ < for_end ) ; }
- nonewcontrolsequence = true ;
- hash [ 258 ] .v.LH = 0 ;
- hash [ 258 ] .v.RH = 0 ;
- {register integer for_end; k = 259 ; for_end = 3524 ; if ( k <= for_end) do
- hash [ k ] = hash [ 258 ] ;
- while ( k++ < for_end ) ; }
- saveptr = 0 ;
- curlevel = 1 ;
- curgroup = 0 ;
- curboundary = 0 ;
- maxsavestack = 0 ;
- magset = 0 ;
- curmark [ 0 ] = 0 ;
- curmark [ 1 ] = 0 ;
- curmark [ 2 ] = 0 ;
- curmark [ 3 ] = 0 ;
- curmark [ 4 ] = 0 ;
- curval = 0 ;
- curvallevel = 0 ;
- radix = 0 ;
- {register integer for_end; k = 0 ; for_end = 16 ; if ( k <= for_end) do
- readopen [ k ] = 2 ;
- while ( k++ < for_end ) ; }
- condptr = 0 ;
- iflimit = 0 ;
- curif = 0 ;
- ifline = 0 ;
- TEXformatdefault = " plain.fmt" ;
- {register integer for_end; k = 0 ; for_end = fontmax ; if ( k <= for_end)
- do
- fontused [ k ] = false ;
- while ( k++ < for_end ) ; }
- nullcharacter .b0 = 0 ;
- nullcharacter .b1 = 0 ;
- nullcharacter .b2 = 0 ;
- nullcharacter .b3 = 0 ;
- totalpages = 0 ;
- maxv = 0 ;
- maxh = 0 ;
- maxpush = 0 ;
- lastbop = -1 ;
- doingleaders = false ;
- deadcycles = 0 ;
- curs = -1 ;
- halfbuf = dvibufsize / 2 ;
- dvilimit = dvibufsize ;
- dviptr = 0 ;
- dvioffset = 0 ;
- dvigone = 0 ;
- downptr = 0 ;
- rightptr = 0 ;
- adjusttail = 0 ;
- packbeginline = 0 ;
- emptyfield .v.RH = 0 ;
- emptyfield .v.LH = 0 ;
- nulldelimiter .b0 = 0 ;
- nulldelimiter .b1 = 0 ;
- nulldelimiter .b2 = 0 ;
- nulldelimiter .b3 = 0 ;
- alignptr = 0 ;
- curalign = 0 ;
- curspan = 0 ;
- curloop = 0 ;
- curhead = 0 ;
- curtail = 0 ;
- {register integer for_end; z = 0 ; for_end = 307 ; if ( z <= for_end) do
- {
- hyphword [ z ] = 0 ;
- hyphlist [ z ] = 0 ;
- }
- while ( z++ < for_end ) ; }
- hyphcount = 0 ;
- outputactive = false ;
- insertpenalties = 0 ;
- aftertoken = 0 ;
- longhelpseen = false ;
- formatident = 0 ;
- {register integer for_end; k = 0 ; for_end = 17 ; if ( k <= for_end) do
- writeopen [ k ] = false ;
- while ( k++ < for_end ) ; }
- editnamestart = 0 ;
- ;
- #ifdef INITEX
- {register integer for_end; k = 1 ; for_end = 19 ; if ( k <= for_end) do
- mem [ k ] .cint = 0 ;
- while ( k++ < for_end ) ; }
- k = 0 ;
- while ( k <= 19 ) {
-
- mem [ k ] .hh .v.RH = 1 ;
- mem [ k ] .hh.b0 = 0 ;
- mem [ k ] .hh.b1 = 0 ;
- k = k + 4 ;
- }
- mem [ 6 ] .cint = 65536L ;
- mem [ 4 ] .hh.b0 = 1 ;
- mem [ 10 ] .cint = 65536L ;
- mem [ 8 ] .hh.b0 = 2 ;
- mem [ 14 ] .cint = 65536L ;
- mem [ 12 ] .hh.b0 = 1 ;
- mem [ 15 ] .cint = 65536L ;
- mem [ 12 ] .hh.b1 = 1 ;
- mem [ 18 ] .cint = -65536L ;
- mem [ 16 ] .hh.b0 = 1 ;
- rover = 20 ;
- mem [ rover ] .hh .v.RH = 65535L ;
- mem [ rover ] .hh .v.LH = 1000 ;
- mem [ rover + 1 ] .hh .v.LH = rover ;
- mem [ rover + 1 ] .hh .v.RH = rover ;
- lomemmax = rover + 1000 ;
- mem [ lomemmax ] .hh .v.RH = 0 ;
- mem [ lomemmax ] .hh .v.LH = 0 ;
- {register integer for_end; k = memtop - 13 ; for_end = memtop ; if ( k <=
- for_end) do
- mem [ k ] = mem [ lomemmax ] ;
- while ( k++ < for_end ) ; }
- mem [ memtop - 10 ] .hh .v.LH = 7359 ;
- mem [ memtop - 9 ] .hh .v.RH = 256 ;
- mem [ memtop - 9 ] .hh .v.LH = 0 ;
- mem [ memtop - 7 ] .hh.b0 = 1 ;
- mem [ memtop - 6 ] .hh .v.LH = 65535L ;
- mem [ memtop - 7 ] .hh.b1 = 0 ;
- mem [ memtop ] .hh.b1 = 255 ;
- mem [ memtop ] .hh.b0 = 1 ;
- mem [ memtop ] .hh .v.RH = memtop ;
- mem [ memtop - 2 ] .hh.b0 = 10 ;
- mem [ memtop - 2 ] .hh.b1 = 0 ;
- avail = 0 ;
- memend = memtop ;
- himemmin = memtop - 13 ;
- varused = 20 ;
- dynused = 14 ;
- eqtb [ 3525 ] .hh.b0 = 100 ;
- eqtb [ 3525 ] .hh .v.RH = 0 ;
- eqtb [ 3525 ] .hh.b1 = 0 ;
- {register integer for_end; k = 1 ; for_end = 3524 ; if ( k <= for_end) do
- eqtb [ k ] = eqtb [ 3525 ] ;
- while ( k++ < for_end ) ; }
- eqtb [ 3526 ] .hh .v.RH = 0 ;
- eqtb [ 3526 ] .hh.b1 = 1 ;
- eqtb [ 3526 ] .hh.b0 = 116 ;
- {register integer for_end; k = 3527 ; for_end = 4055 ; if ( k <= for_end)
- do
- eqtb [ k ] = eqtb [ 3526 ] ;
- while ( k++ < for_end ) ; }
- mem [ 0 ] .hh .v.RH = mem [ 0 ] .hh .v.RH + 530 ;
- eqtb [ 4056 ] .hh .v.RH = 0 ;
- eqtb [ 4056 ] .hh.b0 = 117 ;
- eqtb [ 4056 ] .hh.b1 = 1 ;
- {register integer for_end; k = 4057 ; for_end = 4321 ; if ( k <= for_end)
- do
- eqtb [ k ] = eqtb [ 3525 ] ;
- while ( k++ < for_end ) ; }
- eqtb [ 4322 ] .hh .v.RH = 0 ;
- eqtb [ 4322 ] .hh.b0 = 118 ;
- eqtb [ 4322 ] .hh.b1 = 1 ;
- {register integer for_end; k = 4323 ; for_end = 4577 ; if ( k <= for_end)
- do
- eqtb [ k ] = eqtb [ 4322 ] ;
- while ( k++ < for_end ) ; }
- eqtb [ 4578 ] .hh .v.RH = 0 ;
- eqtb [ 4578 ] .hh.b0 = 119 ;
- eqtb [ 4578 ] .hh.b1 = 1 ;
- {register integer for_end; k = 4579 ; for_end = 4626 ; if ( k <= for_end)
- do
- eqtb [ k ] = eqtb [ 4578 ] ;
- while ( k++ < for_end ) ; }
- eqtb [ 4627 ] .hh .v.RH = 0 ;
- eqtb [ 4627 ] .hh.b0 = 119 ;
- eqtb [ 4627 ] .hh.b1 = 1 ;
- {register integer for_end; k = 4628 ; for_end = 5266 ; if ( k <= for_end)
- do
- eqtb [ k ] = eqtb [ 4627 ] ;
- while ( k++ < for_end ) ; }
- {register integer for_end; k = 0 ; for_end = 127 ; if ( k <= for_end) do
- {
- eqtb [ 4627 + k ] .hh .v.RH = 12 ;
- eqtb [ 5139 + k ] .hh .v.RH = k ;
- eqtb [ 5011 + k ] .hh .v.RH = 1000 ;
- }
- while ( k++ < for_end ) ; }
- eqtb [ 4640 ] .hh .v.RH = 5 ;
- eqtb [ 4659 ] .hh .v.RH = 10 ;
- eqtb [ 4719 ] .hh .v.RH = 0 ;
- eqtb [ 4664 ] .hh .v.RH = 14 ;
- eqtb [ 4754 ] .hh .v.RH = 15 ;
- eqtb [ 4627 ] .hh .v.RH = 9 ;
- {register integer for_end; k = 48 ; for_end = 57 ; if ( k <= for_end) do
- eqtb [ 5139 + k ] .hh .v.RH = k + 28672 ;
- while ( k++ < for_end ) ; }
- {register integer for_end; k = 65 ; for_end = 90 ; if ( k <= for_end) do
- {
- eqtb [ 4627 + k ] .hh .v.RH = 11 ;
- eqtb [ 4627 + k + 32 ] .hh .v.RH = 11 ;
- eqtb [ 5139 + k ] .hh .v.RH = k + 28928 ;
- eqtb [ 5139 + k + 32 ] .hh .v.RH = k + 28960 ;
- eqtb [ 4755 + k ] .hh .v.RH = k + 32 ;
- eqtb [ 4755 + k + 32 ] .hh .v.RH = k + 32 ;
- eqtb [ 4883 + k ] .hh .v.RH = k ;
- eqtb [ 4883 + k + 32 ] .hh .v.RH = k ;
- eqtb [ 5011 + k ] .hh .v.RH = 999 ;
- }
- while ( k++ < for_end ) ; }
- {register integer for_end; k = 5267 ; for_end = 5572 ; if ( k <= for_end)
- do
- eqtb [ k ] .cint = 0 ;
- while ( k++ < for_end ) ; }
- eqtb [ 5284 ] .cint = 1000 ;
- eqtb [ 5268 ] .cint = 10000 ;
- eqtb [ 5308 ] .cint = 1 ;
- eqtb [ 5307 ] .cint = 25 ;
- eqtb [ 5312 ] .cint = 92 ;
- eqtb [ 5315 ] .cint = 13 ;
- {register integer for_end; k = 0 ; for_end = 127 ; if ( k <= for_end) do
- eqtb [ 5573 + k ] .cint = -1 ;
- while ( k++ < for_end ) ; }
- eqtb [ 5619 ] .cint = 0 ;
- {register integer for_end; k = 5701 ; for_end = 5976 ; if ( k <= for_end)
- do
- eqtb [ k ] .cint = 0 ;
- while ( k++ < for_end ) ; }
- hashused = 3258 ;
- cscount = 0 ;
- eqtb [ 3267 ] .hh.b0 = 115 ;
- hash [ 3267 ] .v.RH = 361 ;
- fontptr = 0 ;
- fmemptr = 7 ;
- fontname [ 0 ] = 654 ;
- fontarea [ 0 ] = 206 ;
- hyphenchar [ 0 ] = 45 ;
- skewchar [ 0 ] = -1 ;
- fontbc [ 0 ] = 1 ;
- fontec [ 0 ] = 0 ;
- fontsize [ 0 ] = 0 ;
- fontdsize [ 0 ] = 0 ;
- charbase [ 0 ] = 0 ;
- widthbase [ 0 ] = 0 ;
- heightbase [ 0 ] = 0 ;
- depthbase [ 0 ] = 0 ;
- italicbase [ 0 ] = 0 ;
- ligkernbase [ 0 ] = 0 ;
- kernbase [ 0 ] = 0 ;
- extenbase [ 0 ] = 0 ;
- fontglue [ 0 ] = 0 ;
- fontparams [ 0 ] = 7 ;
- parambase [ 0 ] = -1 ;
- {register integer for_end; k = 0 ; for_end = 6 ; if ( k <= for_end) do
- fontinfo [ k ] .cint = 0 ;
- while ( k++ < for_end ) ; }
- trieopptr = 0 ;
- trie [ 0 ] .v.RH = 0 ;
- trie [ 0 ] .b1 = 0 ;
- trie [ 0 ] .b0 = 0 ;
- {register integer for_end; k = 1 ; for_end = 127 ; if ( k <= for_end) do
- trie [ k ] = trie [ 0 ] ;
- while ( k++ < for_end ) ; }
- triemax = 127 ;
- hash [ 3258 ] .v.RH = 1038 ;
- formatident = 1103 ;
- hash [ 3266 ] .v.RH = 1138 ;
- eqtb [ 3266 ] .hh.b1 = 1 ;
- eqtb [ 3266 ] .hh.b0 = 112 ;
- eqtb [ 3266 ] .hh .v.RH = 0 ;
- #endif /* INITEX */
- }
- #ifdef INITEX
- boolean getstringsstarted () {
- /* 30 10 */ register boolean Result;
- getstringsstarted_regmem
- schar k, l ;
- char m, n ;
- strnumber g ;
- integer a ;
- boolean c ;
- poolptr = 0 ;
- strptr = 0 ;
- strstart [ 0 ] = 0 ;
- {register integer for_end; k = 0 ; for_end = 127 ; if ( k <= for_end) do
- {
- if ( ( ( k < 32 ) || ( k > 126 ) ) )
- {
- {
- strpool [ poolptr ] = 94 ;
- incr ( poolptr ) ;
- }
- {
- strpool [ poolptr ] = 94 ;
- incr ( poolptr ) ;
- }
- if ( k < 64 )
- {
- strpool [ poolptr ] = k + 64 ;
- incr ( poolptr ) ;
- }
- else {
-
- strpool [ poolptr ] = k - 64 ;
- incr ( poolptr ) ;
- }
- }
- else {
-
- strpool [ poolptr ] = k ;
- incr ( poolptr ) ;
- }
- g = makestring () ;
- }
- while ( k++ < for_end ) ; }
- vstrcpy ( nameoffile + 1 , poolname ) ;
- if ( aopenin ( poolfile , poolpathspec ) )
- {
- c = false ;
- do {
- {
- if ( eof ( poolfile ) )
- {
- wakeupterminal () ;
- #ifdef RISC_OS
- (void) os_fputs("! tex.pool has no check sum.", stderr ) ;
- #else
- (void) fprintf( stdout , "%s\n", "! tex.pool has no check sum." ) ;
- #endif
- aclose ( poolfile ) ;
- Result = false ;
- return(Result) ;
- }
- read ( poolfile , m ) ;
- read ( poolfile , n ) ;
- if ( m == '*' )
- {
- a = 0 ;
- k = 1 ;
- while ( true ) {
-
- if ( ( xord [ n ] < 48 ) || ( xord [ n ] > 57 ) )
- {
- wakeupterminal () ;
- #ifdef RISC_OS
- (void) os_fputs("! tex.pool check sum doesn't have nine digits.",
- stderr) ;
- #else
- (void) fprintf( stdout , "%s\n", "! tex.pool check sum doesn't have nine digits." ) ;
- #endif
- aclose ( poolfile ) ;
- Result = false ;
- return(Result) ;
- }
- a = 10 * a + xord [ n ] - 48 ;
- if ( k == 9 )
- goto lab30 ;
- incr ( k ) ;
- read ( poolfile , n ) ;
- }
- lab30: if ( a != 67218746L )
- {
- wakeupterminal () ;
- #ifdef RISC_OS
- (void) os_fputs("! tex.pool doesn't match; tangle me again.", stderr)
- #else
- (void) fprintf( stdout , "%s\n", "! tex.pool doesn't match; tangle me again." )
- #endif
- ;
- aclose ( poolfile ) ;
- Result = false ;
- return(Result) ;
- }
- c = true ;
- }
- else {
-
- if ( ( xord [ m ] < 48 ) || ( xord [ m ] > 57 ) || ( xord [ n ] < 48
- ) || ( xord [ n ] > 57 ) )
- {
- wakeupterminal () ;
- #ifdef RISC_OS
- (void) os_fputs("! tex.pool line doesn't begin with two digits.",stderr);
- #else
- (void) fprintf( stdout , "%s\n", "! tex.pool line doesn't begin with two digits." ) ;
- #endif
- aclose ( poolfile ) ;
- Result = false ;
- return(Result) ;
- }
- l = xord [ m ] * 10 + xord [ n ] - 48 * 11 ;
- if ( poolptr + l + stringvacancies > poolsize )
- {
- wakeupterminal () ;
- #ifdef RISC_OS
- (void) os_fputs("! You have to increase POOLSIZE.", stderr);
- #else
- (void) fprintf( stdout , "%s\n", "! You have to increase POOLSIZE." ) ;
- #endif
- aclose ( poolfile ) ;
- Result = false ;
- return(Result) ;
- }
- {register integer for_end; k = 1 ; for_end = l ; if ( k <= for_end)
- do
- {
- #ifdef RISC_OS /* PENDING: LEAVE THESE FOR THE MOMENT */
- #endif
- if ( eoln ( poolfile ) )
- m = ' ' ;
- else read ( poolfile , m ) ;
- {
- strpool [ poolptr ] = xord [ m ] ;
- incr ( poolptr ) ;
- }
- }
- while ( k++ < for_end ) ; }
- readln ( poolfile ) ;
- g = makestring () ;
- }
- }
- } while ( ! ( c ) ) ;
- aclose ( poolfile ) ;
- Result = true ;
- }
- else {
-
- wakeupterminal () ;
- #ifdef RISC_OS
- (void) os_fputs("! I can't read tex.pool.", stderr);
- #else
- (void) fprintf( stdout , "%s\n", "! I can't read tex.pool." ) ;
- #endif
- Result = false ;
- return(Result) ;
- }
- return(Result) ;
- }
- #endif /* INITEX */
- #ifdef INITEX
- sortavail () {
- sortavail_regmem
- halfword p, q, r ;
- halfword oldrover ;
- p = getnode ( 1073741824L ) ;
- p = mem [ rover + 1 ] .hh .v.RH ;
- mem [ rover + 1 ] .hh .v.RH = 65535L ;
- oldrover = rover ;
- while ( p != oldrover ) if ( p < rover )
- {
- q = p ;
- p = mem [ q + 1 ] .hh .v.RH ;
- mem [ q + 1 ] .hh .v.RH = rover ;
- rover = q ;
- }
- else {
-
- q = rover ;
- while ( mem [ q + 1 ] .hh .v.RH < p ) q = mem [ q + 1 ] .hh .v.RH ;
- r = mem [ p + 1 ] .hh .v.RH ;
- mem [ p + 1 ] .hh .v.RH = mem [ q + 1 ] .hh .v.RH ;
- mem [ q + 1 ] .hh .v.RH = p ;
- p = r ;
- }
- p = rover ;
- while ( mem [ p + 1 ] .hh .v.RH != 65535L ) {
-
- mem [ mem [ p + 1 ] .hh .v.RH + 1 ] .hh .v.LH = p ;
- p = mem [ p + 1 ] .hh .v.RH ;
- }
- mem [ p + 1 ] .hh .v.RH = rover ;
- mem [ rover + 1 ] .hh .v.LH = p ;
- }
- #endif /* INITEX */
- #ifdef INITEX
- zprimitive ( s , c , o )
- strnumber s ;
- quarterword c ;
- halfword o ;
- {primitive_regmem
- poolpointer k ;
- smallnumber j ;
- smallnumber l ;
- if ( s < 128 )
- curval = s + 129 ;
- else {
-
- k = strstart [ s ] ;
- l = strstart [ s + 1 ] - k ;
- {register integer for_end; j = 0 ; for_end = l - 1 ; if ( j <= for_end)
- do
- buffer [ j ] = strpool [ k + j ] ;
- while ( j++ < for_end ) ; }
- curval = idlookup ( 0 , l ) ;
- {
- decr ( strptr ) ;
- poolptr = strstart [ strptr ] ;
- }
- hash [ curval ] .v.RH = s ;
- }
- eqtb [ curval ] .hh.b1 = 1 ;
- eqtb [ curval ] .hh.b0 = c ;
- eqtb [ curval ] .hh .v.RH = o ;
- }
- #endif /* INITEX */
- #ifdef INITEX
- quarterword znewtrieop ( d , n , v )
- smallnumber d , n ;
- quarterword v ;
- {/* 10 */ register quarterword Result; newtrieop_regmem
- short h ;
- quarterword u ;
- h = abs ( toint ( n ) + 313 * toint ( d ) + 361 * toint ( v ) ) % 510 ;
- while ( true ) {
-
- u = trieophash [ h ] ;
- if ( u == 0 )
- {
- if ( trieopptr == 255 )
- {
- Result = 0 ;
- return(Result) ;
- }
- incr ( trieopptr ) ;
- hyfdistance [ trieopptr ] = d ;
- hyfnum [ trieopptr ] = n ;
- hyfnext [ trieopptr ] = v ;
- trieophash [ h ] = trieopptr ;
- Result = trieopptr ;
- return(Result) ;
- }
- if ( ( hyfdistance [ u ] == d ) && ( hyfnum [ u ] == n ) && ( hyfnext [ u
- ] == v ) )
- {
- Result = u ;
- return(Result) ;
- }
- if ( h > 0 )
- decr ( h ) ;
- else h = 510 ;
- }
- return(Result) ;
- }
- triepointer ztrienode ( p )
- triepointer p ;
- {/* 10 */ register triepointer Result; trienode_regmem
- triepointer h ;
- triepointer q ;
- h = abs ( toint ( triec [ p ] ) + 1009 * toint ( trieo [ p ] ) + 2718 *
- toint ( triel [ p ] ) + 3142 * toint ( trier [ p ] ) ) % triesize ;
- while ( true ) {
-
- q = triehash [ h ] ;
- if ( q == 0 )
- {
- triehash [ h ] = p ;
- Result = p ;
- return(Result) ;
- }
- if ( ( triec [ q ] == triec [ p ] ) && ( trieo [ q ] == trieo [ p ] ) && (
- triel [ q ] == triel [ p ] ) && ( trier [ q ] == trier [ p ] ) )
- {
- Result = q ;
- return(Result) ;
- }
- if ( h > 0 )
- decr ( h ) ;
- else h = triesize ;
- }
- return(Result) ;
- }
- triepointer zcompresstrie ( p )
- triepointer p ;
- {register triepointer Result; compresstrie_regmem
- if ( p == 0 )
- Result = 0 ;
- else {
-
- triel [ p ] = compresstrie ( triel [ p ] ) ;
- trier [ p ] = compresstrie ( trier [ p ] ) ;
- Result = trienode ( p ) ;
- }
- return(Result) ;
- }
- initpatternmemory () {
- initpatternmemory_regmem
- short h ;
- triepointer p ;
- {register integer for_end; h = 0 ; for_end = 510 ; if ( h <= for_end) do
- trieophash [ h ] = 0 ;
- while ( h++ < for_end ) ; }
- trieopptr = 0 ;
- triel [ 0 ] = 0 ;
- triec [ 0 ] = 0 ;
- trieptr = 0 ;
- {register integer for_end; p = 0 ; for_end = triesize ; if ( p <= for_end)
- do
- triehash [ p ] = 0 ;
- while ( p++ < for_end ) ; }
- }
- inittriememory () {
- inittriememory_regmem
- triepointer p ;
- {register integer for_end; p = 0 ; for_end = trieptr ; if ( p <= for_end)
- do
- triehash [ p ] = 0 ;
- while ( p++ < for_end ) ; }
- triemax = 128 ;
- triemin = 128 ;
- trie [ 0 ] .v.RH = 1 ;
- trietaken [ 0 ] = false ;
- {register integer for_end; p = 1 ; for_end = 128 ; if ( p <= for_end) do
- {
- trie [ p ] .v.LH = p - 1 ;
- trie [ p ] .v.RH = p + 1 ;
- trietaken [ p ] = false ;
- }
- while ( p++ < for_end ) ; }
- }
- zfirstfit ( p )
- triepointer p ;
- {/* 45 40 */ firstfit_regmem
- triepointer h ;
- triepointer z ;
- triepointer q ;
- ASCIIcode c ;
- c = triec [ p ] ;
- if ( c < triemin )
- triemin = c ;
- z = trie [ triemin - 1 ] .v.RH ;
- while ( true ) {
-
- if ( z < c )
- goto lab45 ;
- h = z - c ;
- if ( triemax < h + 128 )
- {
- if ( triesize <= h + 128 )
- overflow ( 801 , triesize ) ;
- do {
- incr ( triemax ) ;
- trietaken [ triemax ] = false ;
- trie [ triemax ] .v.RH = triemax + 1 ;
- trie [ triemax ] .v.LH = triemax - 1 ;
- } while ( ! ( triemax == h + 128 ) ) ;
- }
- if ( trietaken [ h ] )
- goto lab45 ;
- q = trier [ p ] ;
- while ( q > 0 ) {
-
- if ( trie [ h + triec [ q ] ] .v.RH == 0 )
- goto lab45 ;
- q = trier [ q ] ;
- }
- goto lab40 ;
- lab45: z = trie [ z ] .v.RH ;
- }
- lab40: trietaken [ h ] = true ;
- triehash [ p ] = h ;
- q = p ;
- do {
- z = h + triec [ q ] ;
- trie [ trie [ z ] .v.RH ] .v.LH = trie [ z ] .v.LH ;
- trie [ trie [ z ] .v.LH ] .v.RH = trie [ z ] .v.RH ;
- trie [ z ] .v.RH = 0 ;
- q = trier [ q ] ;
- } while ( ! ( q == 0 ) ) ;
- }
- ztriepack ( p )
- triepointer p ;
- {triepack_regmem
- triepointer q ;
- do {
- q = triel [ p ] ;
- if ( ( q > 0 ) && ( triehash [ q ] == 0 ) )
- {
- firstfit ( q ) ;
- triepack ( q ) ;
- }
- p = trier [ p ] ;
- } while ( ! ( p == 0 ) ) ;
- }
- ztriefix ( p )
- triepointer p ;
- {triefix_regmem
- triepointer q ;
- ASCIIcode c ;
- triepointer z ;
- z = triehash [ p ] ;
- while ( p != 0 ) {
-
- q = triel [ p ] ;
- c = triec [ p ] ;
- trie [ z + c ] .v.RH = triehash [ q ] ;
- trie [ z + c ] .b1 = c ;
- trie [ z + c ] .b0 = trieo [ p ] ;
- if ( q > 0 )
- triefix ( q ) ;
- p = trier [ p ] ;
- }
- }
- newpatterns () {
- /* 30 31 */ newpatterns_regmem
- smallnumber k, l ;
- boolean digitsensed ;
- quarterword v ;
- triepointer p, q ;
- boolean firstchild ;
- ASCIIcode c ;
- triepointer r, s ;
- twohalves h ;
- scanleftbrace () ;
- initpatternmemory () ;
- k = 0 ;
- hyf [ 0 ] = 0 ;
- digitsensed = false ;
- while ( true ) {
-
- getxtoken () ;
- switch ( curcmd )
- {case 11 :
- case 12 :
- if ( digitsensed || ( curchr < 48 ) || ( curchr > 57 ) )
- {
- if ( curchr == 46 )
- curchr = 128 ;
- else {
-
- curchr = eqtb [ 4755 + curchr ] .hh .v.RH ;
- if ( curchr == 0 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 805 ) ;
- }
- {
- helpptr = 1 ;
- helpline [ 0 ] = 804 ;
- }
- error () ;
- curchr = 128 ;
- }
- }
- if ( k < 63 )
- {
- incr ( k ) ;
- hc [ k ] = curchr - 1 ;
- hyf [ k ] = 0 ;
- digitsensed = false ;
- }
- }
- else {
-
- hyf [ k ] = curchr - 48 ;
- if ( k < 63 )
- digitsensed = true ;
- }
- break ;
- case 10 :
- case 2 :
- {
- if ( k > 0 )
- {
- if ( hc [ 1 ] == 127 )
- hyf [ 0 ] = 0 ;
- if ( hc [ k ] == 127 )
- hyf [ k ] = 0 ;
- l = k ;
- v = 0 ;
- while ( true ) {
-
- if ( hyf [ l ] != 0 )
- v = newtrieop ( k - l , hyf [ l ] , v ) ;
- if ( l > 0 )
- decr ( l ) ;
- else goto lab31 ;
- }
- lab31: ;
- q = 0 ;
- while ( l < k ) {
-
- incr ( l ) ;
- c = hc [ l ] ;
- p = triel [ q ] ;
- firstchild = true ;
- while ( ( p > 0 ) && ( c > triec [ p ] ) ) {
-
- q = p ;
- p = trier [ q ] ;
- firstchild = false ;
- }
- if ( ( p == 0 ) || ( c < triec [ p ] ) )
- {
- if ( trieptr == triesize )
- overflow ( 801 , triesize ) ;
- incr ( trieptr ) ;
- trier [ trieptr ] = p ;
- p = trieptr ;
- triel [ p ] = 0 ;
- if ( firstchild )
- triel [ q ] = p ;
- else trier [ q ] = p ;
- triec [ p ] = c ;
- trieo [ p ] = 0 ;
- }
- q = p ;
- }
- if ( trieo [ q ] != 0 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 806 ) ;
- }
- {
- helpptr = 1 ;
- helpline [ 0 ] = 804 ;
- }
- error () ;
- }
- trieo [ q ] = v ;
- }
- if ( curcmd == 2 )
- goto lab30 ;
- k = 0 ;
- hyf [ 0 ] = 0 ;
- digitsensed = false ;
- }
- break ;
- default:
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 802 ) ;
- }
- printesc ( 803 ) ;
- {
- helpptr = 1 ;
- helpline [ 0 ] = 804 ;
- }
- error () ;
- }
- break ;
- }
- }
- lab30: ;
- triel [ 0 ] = compresstrie ( triel [ 0 ] ) ;
- inittriememory () ;
- if ( triel [ 0 ] != 0 )
- {
- firstfit ( triel [ 0 ] ) ;
- triepack ( triel [ 0 ] ) ;
- }
- r = 0 ;
- while ( trietaken [ r ] ) incr ( r ) ;
- triehash [ 0 ] = r ;
- triefix ( triel [ 0 ] ) ;
- r = 0 ;
- h .v.RH = 0 ;
- h .b0 = 0 ;
- h .b1 = 0 ;
- do {
- s = trie [ r ] .v.RH ;
- trie [ r ] = h ;
- r = s ;
- } while ( ! ( r > triemax ) ) ;
- }
- #endif /* INITEX */
- prefixedcommand () {
- /* 30 10 */ prefixedcommand_regmem
- smallnumber a ;
- internalfontnumber f ;
- halfword j ;
- integer k ;
- halfword p, q ;
- integer n ;
- boolean e ;
- a = 0 ;
- while ( curcmd == 92 ) {
-
- if ( ! odd ( a / curchr ) )
- a = a + curchr ;
- do {
- getxtoken () ;
- } while ( ! ( ( curcmd != 10 ) && ( curcmd != 0 ) ) ) ;
- if ( curcmd <= 69 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 1027 ) ;
- }
- printcmdchr ( curcmd , curchr ) ;
- printchar ( 39 ) ;
- {
- helpptr = 1 ;
- helpline [ 0 ] = 1028 ;
- }
- backerror () ;
- return ;
- }
- }
- if ( ( curcmd != 96 ) && ( a % 4 != 0 ) )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 541 ) ;
- }
- printesc ( 1019 ) ;
- print ( 1029 ) ;
- printesc ( 1020 ) ;
- print ( 1030 ) ;
- printcmdchr ( curcmd , curchr ) ;
- printchar ( 39 ) ;
- {
- helpptr = 1 ;
- helpline [ 0 ] = 1031 ;
- }
- error () ;
- }
- if ( eqtb [ 5310 ] .cint != 0 )
- if ( eqtb [ 5310 ] .cint < 0 )
- {
- if ( ( a >= 4 ) )
- a = a - 4 ;
- }
- else {
-
- if ( ! ( a >= 4 ) )
- a = a + 4 ;
- }
- switch ( curcmd )
- {case 86 :
- if ( ( a >= 4 ) )
- geqdefine ( 4578 , 119 , curchr ) ;
- else eqdefine ( 4578 , 119 , curchr ) ;
- break ;
- case 96 :
- {
- if ( odd ( curchr ) && ! ( a >= 4 ) && ( eqtb [ 5310 ] .cint >= 0 ) )
- a = a + 4 ;
- e = ( curchr >= 2 ) ;
- getrtoken () ;
- p = curcs ;
- q = scantoks ( true , e ) ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 110 + ( a % 4 ) , defref ) ;
- else eqdefine ( p , 110 + ( a % 4 ) , defref ) ;
- }
- break ;
- case 93 :
- {
- n = curchr ;
- getrtoken () ;
- p = curcs ;
- if ( n == 0 )
- {
- do {
- gettoken () ;
- } while ( ! ( curcmd != 10 ) ) ;
- if ( curtok == 3133 )
- {
- gettoken () ;
- if ( curcmd == 10 )
- gettoken () ;
- }
- }
- else {
-
- gettoken () ;
- q = curtok ;
- gettoken () ;
- backinput () ;
- curtok = q ;
- backinput () ;
- }
- if ( curcmd >= 110 )
- incr ( mem [ curchr ] .hh .v.LH ) ;
- if ( ( a >= 4 ) )
- geqdefine ( p , curcmd , curchr ) ;
- else eqdefine ( p , curcmd , curchr ) ;
- }
- break ;
- case 94 :
- {
- n = curchr ;
- getrtoken () ;
- p = curcs ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 0 , 256 ) ;
- else eqdefine ( p , 0 , 256 ) ;
- scanoptionalequals () ;
- switch ( n )
- {case 0 :
- {
- scancharnum () ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 67 , curval ) ;
- else eqdefine ( p , 67 , curval ) ;
- }
- break ;
- case 1 :
- {
- scanfifteenbitint () ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 68 , curval ) ;
- else eqdefine ( p , 68 , curval ) ;
- }
- break ;
- default:
- {
- scaneightbitint () ;
- switch ( n )
- {case 2 :
- if ( ( a >= 4 ) )
- geqdefine ( p , 72 , 5317 + curval ) ;
- else eqdefine ( p , 72 , 5317 + curval ) ;
- break ;
- case 3 :
- if ( ( a >= 4 ) )
- geqdefine ( p , 73 , 5721 + curval ) ;
- else eqdefine ( p , 73 , 5721 + curval ) ;
- break ;
- case 4 :
- if ( ( a >= 4 ) )
- geqdefine ( p , 74 , 3544 + curval ) ;
- else eqdefine ( p , 74 , 3544 + curval ) ;
- break ;
- case 5 :
- if ( ( a >= 4 ) )
- geqdefine ( p , 75 , 3800 + curval ) ;
- else eqdefine ( p , 75 , 3800 + curval ) ;
- break ;
- case 6 :
- if ( ( a >= 4 ) )
- geqdefine ( p , 71 , 4066 + curval ) ;
- else eqdefine ( p , 71 , 4066 + curval ) ;
- break ;
- }
- }
- break ;
- }
- }
- break ;
- case 95 :
- {
- scanint () ;
- n = curval ;
- if ( ! scankeyword ( 695 ) )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 921 ) ;
- }
- {
- helpptr = 2 ;
- helpline [ 1 ] = 1048 ;
- helpline [ 0 ] = 1049 ;
- }
- error () ;
- }
- getrtoken () ;
- p = curcs ;
- readtoks ( n , p ) ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 110 , curval ) ;
- else eqdefine ( p , 110 , curval ) ;
- }
- break ;
- case 70 :
- case 71 :
- {
- q = curcs ;
- if ( curcmd == 70 )
- {
- scaneightbitint () ;
- p = 4066 + curval ;
- }
- else p = curchr ;
- scanoptionalequals () ;
- do {
- getxtoken () ;
- } while ( ! ( ( curcmd != 10 ) && ( curcmd != 0 ) ) ) ;
- if ( curcmd != 1 )
- {
- if ( curcmd == 70 )
- {
- scaneightbitint () ;
- curcmd = 71 ;
- curchr = 4066 + curval ;
- }
- if ( curcmd == 71 )
- {
- q = eqtb [ curchr ] .hh .v.RH ;
- if ( q == 0 )
- if ( ( a >= 4 ) )
- geqdefine ( p , 100 , 0 ) ;
- else eqdefine ( p , 100 , 0 ) ;
- else {
-
- incr ( mem [ q ] .hh .v.LH ) ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 110 , q ) ;
- else eqdefine ( p , 110 , q ) ;
- }
- goto lab30 ;
- }
- }
- backinput () ;
- curcs = q ;
- q = scantoks ( false , false ) ;
- if ( mem [ defref ] .hh .v.RH == 0 )
- {
- if ( ( a >= 4 ) )
- geqdefine ( p , 100 , 0 ) ;
- else eqdefine ( p , 100 , 0 ) ;
- {
- mem [ defref ] .hh .v.RH = avail ;
- avail = defref ;
- ;
- #ifdef STAT
- decr ( dynused ) ;
- #endif /* STAT */
- }
- }
- else {
-
- if ( p == 4057 )
- {
- mem [ q ] .hh .v.RH = getavail () ;
- q = mem [ q ] .hh .v.RH ;
- mem [ q ] .hh .v.LH = 637 ;
- q = getavail () ;
- mem [ q ] .hh .v.LH = 379 ;
- mem [ q ] .hh .v.RH = mem [ defref ] .hh .v.RH ;
- mem [ defref ] .hh .v.RH = q ;
- }
- if ( ( a >= 4 ) )
- geqdefine ( p , 110 , defref ) ;
- else eqdefine ( p , 110 , defref ) ;
- }
- }
- break ;
- case 72 :
- {
- p = curchr ;
- scanoptionalequals () ;
- scanint () ;
- if ( ( a >= 4 ) )
- geqworddefine ( p , curval ) ;
- else eqworddefine ( p , curval ) ;
- }
- break ;
- case 73 :
- {
- p = curchr ;
- scanoptionalequals () ;
- scandimen ( false , false , false ) ;
- if ( ( a >= 4 ) )
- geqworddefine ( p , curval ) ;
- else eqworddefine ( p , curval ) ;
- }
- break ;
- case 74 :
- case 75 :
- {
- p = curchr ;
- n = curcmd ;
- scanoptionalequals () ;
- if ( n == 75 )
- scanglue ( 3 ) ;
- else scanglue ( 2 ) ;
- trapzeroglue () ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 116 , curval ) ;
- else eqdefine ( p , 116 , curval ) ;
- }
- break ;
- case 84 :
- {
- if ( curchr == 4627 )
- n = 15 ;
- else if ( curchr == 5139 )
- n = 32768L ;
- else if ( curchr == 5011 )
- n = 32767 ;
- else if ( curchr == 5573 )
- n = 16777215L ;
- else n = 127 ;
- p = curchr ;
- scansevenbitint () ;
- p = p + curval ;
- scanoptionalequals () ;
- scanint () ;
- if ( ( ( curval < 0 ) && ( p < 5573 ) ) || ( curval > n ) )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 1050 ) ;
- }
- printint ( curval ) ;
- if ( p < 5573 )
- print ( 1051 ) ;
- else print ( 1052 ) ;
- printint ( n ) ;
- {
- helpptr = 1 ;
- helpline [ 0 ] = 1053 ;
- }
- error () ;
- curval = 0 ;
- }
- if ( p < 5139 )
- if ( ( a >= 4 ) )
- geqdefine ( p , 119 , curval ) ;
- else eqdefine ( p , 119 , curval ) ;
- else if ( p < 5573 )
- if ( ( a >= 4 ) )
- geqdefine ( p , 119 , curval ) ;
- else eqdefine ( p , 119 , curval ) ;
- else if ( ( a >= 4 ) )
- geqworddefine ( p , curval ) ;
- else eqworddefine ( p , curval ) ;
- }
- break ;
- case 85 :
- {
- p = curchr ;
- scanfourbitint () ;
- p = p + curval ;
- scanoptionalequals () ;
- scanfontident () ;
- if ( ( a >= 4 ) )
- geqdefine ( p , 119 , curval ) ;
- else eqdefine ( p , 119 , curval ) ;
- }
- break ;
- case 88 :
- case 89 :
- case 90 :
- case 91 :
- doregistercommand ( a ) ;
- break ;
- case 97 :
- {
- scaneightbitint () ;
- if ( ( a >= 4 ) )
- savestack [ saveptr + 0 ] .cint = 1073742080L + curval ;
- else savestack [ saveptr + 0 ] .cint = 1073741824L + curval ;
- scanoptionalequals () ;
- scanbox () ;
- }
- break ;
- case 78 :
- alteraux () ;
- break ;
- case 79 :
- alterprevgraf () ;
- break ;
- case 80 :
- alterpagesofar () ;
- break ;
- case 81 :
- alterinteger () ;
- break ;
- case 82 :
- alterboxdimen () ;
- break ;
- case 83 :
- {
- scanoptionalequals () ;
- scanint () ;
- n = curval ;
- if ( n <= 0 )
- p = 0 ;
- else {
-
- p = getnode ( 2 * n + 1 ) ;
- mem [ p ] .hh .v.LH = n ;
- {register integer for_end; j = 1 ; for_end = n ; if ( j <= for_end)
- do
- {
- scandimen ( false , false , false ) ;
- mem [ p + 2 * j - 1 ] .cint = curval ;
- scandimen ( false , false , false ) ;
- mem [ p + 2 * j ] .cint = curval ;
- }
- while ( j++ < for_end ) ; }
- }
- if ( ( a >= 4 ) )
- geqdefine ( 4056 , 117 , p ) ;
- else eqdefine ( 4056 , 117 , p ) ;
- }
- break ;
- case 98 :
- if ( curchr == 1 )
- {
- ;
- #ifdef INITEX
- newpatterns () ;
- goto lab30 ;
- #endif /* INITEX */
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 1062 ) ;
- }
- helpptr = 0 ;
- error () ;
- do {
- gettoken () ;
- } while ( ! ( curcmd == 2 ) ) ;
- return ;
- }
- else {
-
- newhyphexceptions () ;
- goto lab30 ;
- }
- break ;
- case 76 :
- {
- findfontdimen ( true ) ;
- k = curval ;
- scanoptionalequals () ;
- scandimen ( false , false , false ) ;
- fontinfo [ k ] .cint = curval ;
- }
- break ;
- case 77 :
- {
- n = curchr ;
- scanfontident () ;
- f = curval ;
- scanoptionalequals () ;
- scanint () ;
- if ( n == 0 )
- hyphenchar [ f ] = curval ;
- else skewchar [ f ] = curval ;
- }
- break ;
- case 87 :
- newfont ( a ) ;
- break ;
- case 99 :
- newinteraction () ;
- break ;
- default:
- confusion ( 1026 ) ;
- break ;
- }
- lab30: if ( aftertoken != 0 )
- {
- curtok = aftertoken ;
- backinput () ;
- aftertoken = 0 ;
- }
- }
- #ifdef INITEX
- storefmtfile () {
- /* 41 42 31 32 */ storefmtfile_regmem
- integer j, k, l ;
- halfword p, q ;
- integer x ;
- if ( saveptr != 0 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 133 ) ;
- print ( 1104 ) ;
- }
- {
- helpptr = 1 ;
- helpline [ 0 ] = 1105 ;
- }
- {
- if ( interaction == 3 )
- interaction = 2 ;
- error () ;
- ;
- #ifdef DEBUG
- if ( interaction > 0 )
- debughelp () ;
- #endif /* DEBUG */
- history = 3 ;
- jumpout () ;
- }
- }
- selector = 21 ;
- print ( 1116 ) ;
- print ( jobname ) ;
- printchar ( 32 ) ;
- printint ( eqtb [ 5290 ] .cint % 100 ) ;
- printchar ( 46 ) ;
- printint ( eqtb [ 5289 ] .cint ) ;
- printchar ( 46 ) ;
- printint ( eqtb [ 5288 ] .cint ) ;
- printchar ( 41 ) ;
- if ( interaction == 0 )
- selector = 18 ;
- else selector = 19 ;
- {
- if ( poolptr + 1 > poolsize )
- overflow ( 128 , poolsize - initpoolptr ) ;
- }
- formatident = makestring () ;
- packjobname ( 1117 ) ;
- while ( ! wopenout ( fmtfile ) ) promptfilename ( 1118 , 1117 ) ;
- printnl ( 1119 ) ;
- print ( wmakenamestring ( fmtfile ) ) ;
- {
- decr ( strptr ) ;
- poolptr = strstart [ strptr ] ;
- }
- printnl ( formatident ) ;
- putfmtint ( 67218746L ) ;
- putfmtint ( 0 ) ;
- putfmtint ( memtop ) ;
- putfmtint ( 5976 ) ;
- putfmtint ( 2551 ) ;
- putfmtint ( 307 ) ;
- putfmtint ( poolptr ) ;
- putfmtint ( strptr ) ;
- dumpthings ( strstart [ 0 ] , strptr + 1 ) ;
- dumpthings ( strpool [ 0 ] , poolptr ) ;
- println () ;
- printint ( strptr ) ;
- print ( 1106 ) ;
- printint ( poolptr ) ;
- sortavail () ;
- varused = 0 ;
- putfmtint ( lomemmax ) ;
- putfmtint ( rover ) ;
- p = 0 ;
- q = rover ;
- x = 0 ;
- do {
- dumpthings ( mem [ p ] , q + 2 - p ) ;
- x = x + q + 2 - p ;
- varused = varused + q - p ;
- p = q + mem [ q ] .hh .v.LH ;
- q = mem [ q + 1 ] .hh .v.RH ;
- } while ( ! ( q == rover ) ) ;
- varused = varused + lomemmax - p ;
- dynused = memend + 1 - himemmin ;
- dumpthings ( mem [ p ] , lomemmax + 1 - p ) ;
- x = x + lomemmax + 1 - p ;
- putfmtint ( himemmin ) ;
- putfmtint ( avail ) ;
- dumpthings ( mem [ himemmin ] , memend + 1 - himemmin ) ;
- x = x + memend + 1 - himemmin ;
- p = avail ;
- while ( p != 0 ) {
-
- decr ( dynused ) ;
- p = mem [ p ] .hh .v.RH ;
- }
- putfmtint ( varused ) ;
- putfmtint ( dynused ) ;
- println () ;
- printint ( x ) ;
- print ( 1107 ) ;
- printint ( varused ) ;
- printchar ( 38 ) ;
- printint ( dynused ) ;
- k = 1 ;
- do {
- j = k ;
- while ( j < 5266 ) {
-
- if ( ( eqtb [ j ] .hh .v.RH == eqtb [ j + 1 ] .hh .v.RH ) && ( eqtb [ j
- ] .hh.b0 == eqtb [ j + 1 ] .hh.b0 ) && ( eqtb [ j ] .hh.b1 == eqtb [ j +
- 1 ] .hh.b1 ) )
- goto lab41 ;
- incr ( j ) ;
- }
- l = 5267 ;
- goto lab31 ;
- lab41: incr ( j ) ;
- l = j ;
- while ( j < 5266 ) {
-
- if ( ( eqtb [ j ] .hh .v.RH != eqtb [ j + 1 ] .hh .v.RH ) || ( eqtb [ j
- ] .hh.b0 != eqtb [ j + 1 ] .hh.b0 ) || ( eqtb [ j ] .hh.b1 != eqtb [ j +
- 1 ] .hh.b1 ) )
- goto lab31 ;
- incr ( j ) ;
- }
- lab31: putfmtint ( l - k ) ;
- dumpthings ( eqtb [ k ] , l - k ) ;
- k = j + 1 ;
- putfmtint ( k - l ) ;
- } while ( ! ( k == 5267 ) ) ;
- do {
- j = k ;
- while ( j < 5976 ) {
-
- if ( eqtb [ j ] .cint == eqtb [ j + 1 ] .cint )
- goto lab42 ;
- incr ( j ) ;
- }
- l = 5977 ;
- goto lab32 ;
- lab42: incr ( j ) ;
- l = j ;
- while ( j < 5976 ) {
-
- if ( eqtb [ j ] .cint != eqtb [ j + 1 ] .cint )
- goto lab32 ;
- incr ( j ) ;
- }
- lab32: putfmtint ( l - k ) ;
- dumpthings ( eqtb [ k ] , l - k ) ;
- k = j + 1 ;
- putfmtint ( k - l ) ;
- } while ( ! ( k > 5976 ) ) ;
- putfmtint ( parloc ) ;
- putfmtint ( writeloc ) ;
- putfmtint ( hashused ) ;
- cscount = 3257 - hashused ;
- {register integer for_end; p = 258 ; for_end = hashused ; if ( p <=
- for_end) do
- if ( hash [ p ] .v.RH != 0 )
- {
- putfmtint ( p ) ;
- putfmthh ( hash [ p ] ) ;
- incr ( cscount ) ;
- }
- while ( p++ < for_end ) ; }
- dumpthings ( hash [ hashused + 1 ] , 3524 - hashused ) ;
- putfmtint ( cscount ) ;
- println () ;
- printint ( cscount ) ;
- print ( 1108 ) ;
- putfmtint ( fmemptr ) ;
- {
- dumpthings ( fontinfo [ 0 ] , fmemptr ) ;
- putfmtint ( fontptr ) ;
- dumpthings ( fontcheck [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontsize [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontdsize [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontparams [ 0 ] , fontptr + 1 ) ;
- dumpthings ( hyphenchar [ 0 ] , fontptr + 1 ) ;
- dumpthings ( skewchar [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontname [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontarea [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontbc [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontec [ 0 ] , fontptr + 1 ) ;
- dumpthings ( charbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( widthbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( heightbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( depthbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( italicbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( ligkernbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( kernbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( extenbase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( parambase [ 0 ] , fontptr + 1 ) ;
- dumpthings ( fontglue [ 0 ] , fontptr + 1 ) ;
- {register integer for_end; k = 0 ; for_end = fontptr ; if ( k <= for_end)
- do
- {
- printnl ( 1111 ) ;
- printesc ( hash [ 3268 + k ] .v.RH ) ;
- printchar ( 61 ) ;
- printfilename ( fontname [ k ] , fontarea [ k ] , 206 ) ;
- if ( fontsize [ k ] != fontdsize [ k ] )
- {
- print ( 598 ) ;
- printscaled ( fontsize [ k ] ) ;
- print ( 262 ) ;
- }
- }
- while ( k++ < for_end ) ; }
- }
- println () ;
- printint ( fmemptr - 7 ) ;
- print ( 1109 ) ;
- printint ( fontptr - 0 ) ;
- print ( 1110 ) ;
- if ( fontptr != 1 )
- printchar ( 115 ) ;
- putfmtint ( hyphcount ) ;
- {register integer for_end; k = 0 ; for_end = 307 ; if ( k <= for_end) do
- if ( hyphword [ k ] != 0 )
- {
- putfmtint ( k ) ;
- putfmtint ( hyphword [ k ] ) ;
- putfmtint ( hyphlist [ k ] ) ;
- }
- while ( k++ < for_end ) ; }
- putfmtint ( triemax ) ;
- dumpthings ( trie [ 0 ] , triemax + 1 ) ;
- putfmtint ( trieopptr ) ;
- dumpthings ( hyfdistance [ 1 ] , trieopptr - 0 ) ;
- dumpthings ( hyfnum [ 1 ] , trieopptr - 0 ) ;
- dumpthings ( hyfnext [ 1 ] , trieopptr - 0 ) ;
- println () ;
- printint ( hyphcount ) ;
- print ( 1112 ) ;
- if ( hyphcount != 1 )
- printchar ( 115 ) ;
- printnl ( 1113 ) ;
- printint ( triemax ) ;
- print ( 1114 ) ;
- printint ( trieopptr ) ;
- print ( 1115 ) ;
- if ( trieopptr != 1 )
- printchar ( 115 ) ;
- putfmtint ( interaction ) ;
- putfmtint ( formatident ) ;
- putfmtint ( 69069L ) ;
- eqtb [ 5298 ] .cint = 0 ;
- wclose ( fmtfile ) ;
- }
- #endif /* INITEX */
- finalcleanup () {
- /* 10 */ finalcleanup_regmem
- smallnumber c ;
- c = curchr ;
- if ( jobname == 0 )
- openlogfile () ;
- if ( curlevel > 1 )
- {
- printnl ( 40 ) ;
- printesc ( 1121 ) ;
- print ( 1122 ) ;
- printint ( curlevel - 1 ) ;
- printchar ( 41 ) ;
- }
- while ( condptr != 0 ) {
-
- printnl ( 40 ) ;
- printesc ( 1121 ) ;
- print ( 1123 ) ;
- printcmdchr ( 104 , curif ) ;
- if ( ifline != 0 )
- {
- print ( 1124 ) ;
- printint ( ifline ) ;
- }
- print ( 1125 ) ;
- ifline = mem [ condptr + 1 ] .cint ;
- curif = mem [ condptr ] .hh.b1 ;
- condptr = mem [ condptr ] .hh .v.RH ;
- }
- if ( history != 0 )
- if ( ( ( history == 1 ) || ( interaction < 3 ) ) )
- if ( selector == 19 )
- {
- selector = 17 ;
- printnl ( 1126 ) ;
- selector = 19 ;
- }
- if ( c == 1 )
- {
- ;
- #ifdef INITEX
- storefmtfile () ;
- return ;
- #endif /* INITEX */
- printnl ( 1127 ) ;
- return ;
- }
- }
- #ifdef INITEX
- initprim () {
- initprim_regmem
- nonewcontrolsequence = false ;
- primitive ( 241 , 74 , 3526 ) ;
- primitive ( 242 , 74 , 3527 ) ;
- primitive ( 243 , 74 , 3528 ) ;
- primitive ( 244 , 74 , 3529 ) ;
- primitive ( 245 , 74 , 3530 ) ;
- primitive ( 246 , 74 , 3531 ) ;
- primitive ( 247 , 74 , 3532 ) ;
- primitive ( 248 , 74 , 3533 ) ;
- primitive ( 249 , 74 , 3534 ) ;
- primitive ( 250 , 74 , 3535 ) ;
- primitive ( 251 , 74 , 3536 ) ;
- primitive ( 252 , 74 , 3537 ) ;
- primitive ( 253 , 74 , 3538 ) ;
- primitive ( 254 , 74 , 3539 ) ;
- primitive ( 255 , 74 , 3540 ) ;
- primitive ( 256 , 75 , 3541 ) ;
- primitive ( 257 , 75 , 3542 ) ;
- primitive ( 258 , 75 , 3543 ) ;
- primitive ( 263 , 71 , 4057 ) ;
- primitive ( 264 , 71 , 4058 ) ;
- primitive ( 265 , 71 , 4059 ) ;
- primitive ( 266 , 71 , 4060 ) ;
- primitive ( 267 , 71 , 4061 ) ;
- primitive ( 268 , 71 , 4062 ) ;
- primitive ( 269 , 71 , 4063 ) ;
- primitive ( 270 , 71 , 4064 ) ;
- primitive ( 271 , 71 , 4065 ) ;
- primitive ( 285 , 72 , 5267 ) ;
- primitive ( 286 , 72 , 5268 ) ;
- primitive ( 287 , 72 , 5269 ) ;
- primitive ( 288 , 72 , 5270 ) ;
- primitive ( 289 , 72 , 5271 ) ;
- primitive ( 290 , 72 , 5272 ) ;
- primitive ( 291 , 72 , 5273 ) ;
- primitive ( 292 , 72 , 5274 ) ;
- primitive ( 293 , 72 , 5275 ) ;
- primitive ( 294 , 72 , 5276 ) ;
- primitive ( 295 , 72 , 5277 ) ;
- primitive ( 296 , 72 , 5278 ) ;
- primitive ( 297 , 72 , 5279 ) ;
- primitive ( 298 , 72 , 5280 ) ;
- primitive ( 299 , 72 , 5281 ) ;
- primitive ( 300 , 72 , 5282 ) ;
- primitive ( 301 , 72 , 5283 ) ;
- primitive ( 302 , 72 , 5284 ) ;
- primitive ( 303 , 72 , 5285 ) ;
- primitive ( 304 , 72 , 5286 ) ;
- primitive ( 305 , 72 , 5287 ) ;
- primitive ( 306 , 72 , 5288 ) ;
- primitive ( 307 , 72 , 5289 ) ;
- primitive ( 308 , 72 , 5290 ) ;
- primitive ( 309 , 72 , 5291 ) ;
- primitive ( 310 , 72 , 5292 ) ;
- primitive ( 311 , 72 , 5293 ) ;
- primitive ( 312 , 72 , 5294 ) ;
- primitive ( 313 , 72 , 5295 ) ;
- primitive ( 314 , 72 , 5296 ) ;
- primitive ( 315 , 72 , 5297 ) ;
- primitive ( 316 , 72 , 5298 ) ;
- primitive ( 317 , 72 , 5299 ) ;
- primitive ( 318 , 72 , 5300 ) ;
- primitive ( 319 , 72 , 5301 ) ;
- primitive ( 320 , 72 , 5302 ) ;
- primitive ( 321 , 72 , 5303 ) ;
- primitive ( 322 , 72 , 5304 ) ;
- primitive ( 323 , 72 , 5305 ) ;
- primitive ( 324 , 72 , 5306 ) ;
- primitive ( 325 , 72 , 5307 ) ;
- primitive ( 326 , 72 , 5308 ) ;
- primitive ( 327 , 72 , 5309 ) ;
- primitive ( 328 , 72 , 5310 ) ;
- primitive ( 329 , 72 , 5311 ) ;
- primitive ( 330 , 72 , 5312 ) ;
- primitive ( 331 , 72 , 5313 ) ;
- primitive ( 332 , 72 , 5314 ) ;
- primitive ( 333 , 72 , 5315 ) ;
- primitive ( 334 , 72 , 5316 ) ;
- primitive ( 338 , 73 , 5701 ) ;
- primitive ( 339 , 73 , 5702 ) ;
- primitive ( 340 , 73 , 5703 ) ;
- primitive ( 341 , 73 , 5704 ) ;
- primitive ( 342 , 73 , 5705 ) ;
- primitive ( 343 , 73 , 5706 ) ;
- primitive ( 344 , 73 , 5707 ) ;
- primitive ( 345 , 73 , 5708 ) ;
- primitive ( 346 , 73 , 5709 ) ;
- primitive ( 347 , 73 , 5710 ) ;
- primitive ( 348 , 73 , 5711 ) ;
- primitive ( 349 , 73 , 5712 ) ;
- primitive ( 350 , 73 , 5713 ) ;
- primitive ( 351 , 73 , 5714 ) ;
- primitive ( 352 , 73 , 5715 ) ;
- primitive ( 353 , 73 , 5716 ) ;
- primitive ( 354 , 73 , 5717 ) ;
- primitive ( 355 , 73 , 5718 ) ;
- primitive ( 356 , 73 , 5719 ) ;
- primitive ( 357 , 73 , 5720 ) ;
- primitive ( 32 , 64 , 0 ) ;
- primitive ( 47 , 44 , 0 ) ;
- primitive ( 367 , 45 , 0 ) ;
- primitive ( 368 , 89 , 0 ) ;
- primitive ( 369 , 40 , 0 ) ;
- primitive ( 370 , 41 , 0 ) ;
- primitive ( 371 , 61 , 0 ) ;
- primitive ( 372 , 16 , 0 ) ;
- primitive ( 363 , 106 , 0 ) ;
- primitive ( 373 , 15 , 0 ) ;
- primitive ( 374 , 91 , 0 ) ;
- primitive ( 364 , 66 , 0 ) ;
- primitive ( 375 , 62 , 0 ) ;
- hash [ 3260 ] .v.RH = 375 ;
- eqtb [ 3260 ] = eqtb [ curval ] ;
- primitive ( 376 , 101 , 0 ) ;
- primitive ( 377 , 87 , 0 ) ;
- primitive ( 378 , 76 , 0 ) ;
- primitive ( 379 , 32 , 0 ) ;
- primitive ( 380 , 36 , 0 ) ;
- primitive ( 381 , 39 , 0 ) ;
- primitive ( 198 , 37 , 0 ) ;
- primitive ( 219 , 18 , 0 ) ;
- primitive ( 382 , 46 , 0 ) ;
- primitive ( 383 , 17 , 0 ) ;
- primitive ( 384 , 54 , 0 ) ;
- primitive ( 385 , 90 , 0 ) ;
- primitive ( 386 , 34 , 0 ) ;
- primitive ( 387 , 102 , 0 ) ;
- primitive ( 203 , 55 , 0 ) ;
- primitive ( 388 , 63 , 0 ) ;
- primitive ( 273 , 83 , 0 ) ;
- primitive ( 389 , 42 , 0 ) ;
- primitive ( 390 , 79 , 0 ) ;
- primitive ( 391 , 65 , 0 ) ;
- primitive ( 392 , 95 , 0 ) ;
- primitive ( 393 , 0 , 256 ) ;
- hash [ 3265 ] .v.RH = 393 ;
- eqtb [ 3265 ] = eqtb [ curval ] ;
- primitive ( 394 , 97 , 0 ) ;
- primitive ( 395 , 108 , 0 ) ;
- primitive ( 272 , 70 , 0 ) ;
- primitive ( 220 , 38 , 0 ) ;
- primitive ( 396 , 33 , 0 ) ;
- primitive ( 397 , 56 , 0 ) ;
- primitive ( 398 , 35 , 0 ) ;
- primitive ( 455 , 13 , 0 ) ;
- parloc = curval ;
- partoken = 4096 + parloc ;
- primitive ( 487 , 103 , 0 ) ;
- primitive ( 488 , 103 , 1 ) ;
- primitive ( 489 , 109 , 0 ) ;
- primitive ( 490 , 109 , 1 ) ;
- primitive ( 491 , 109 , 2 ) ;
- primitive ( 492 , 109 , 3 ) ;
- primitive ( 493 , 109 , 4 ) ;
- primitive ( 336 , 88 , 0 ) ;
- primitive ( 359 , 88 , 1 ) ;
- primitive ( 260 , 88 , 2 ) ;
- primitive ( 261 , 88 , 3 ) ;
- primitive ( 526 , 78 , 101 ) ;
- primitive ( 527 , 78 , 1 ) ;
- primitive ( 528 , 81 , 0 ) ;
- primitive ( 529 , 81 , 1 ) ;
- primitive ( 530 , 82 , 1 ) ;
- primitive ( 531 , 82 , 3 ) ;
- primitive ( 532 , 82 , 2 ) ;
- primitive ( 533 , 69 , 0 ) ;
- primitive ( 534 , 69 , 1 ) ;
- primitive ( 535 , 69 , 2 ) ;
- primitive ( 592 , 107 , 0 ) ;
- primitive ( 593 , 107 , 1 ) ;
- primitive ( 594 , 107 , 2 ) ;
- primitive ( 595 , 107 , 3 ) ;
- primitive ( 596 , 107 , 4 ) ;
- primitive ( 597 , 107 , 5 ) ;
- primitive ( 613 , 104 , 0 ) ;
- primitive ( 614 , 104 , 1 ) ;
- primitive ( 615 , 104 , 2 ) ;
- primitive ( 616 , 104 , 3 ) ;
- primitive ( 617 , 104 , 4 ) ;
- primitive ( 618 , 104 , 5 ) ;
- primitive ( 619 , 104 , 6 ) ;
- primitive ( 620 , 104 , 7 ) ;
- primitive ( 621 , 104 , 8 ) ;
- primitive ( 622 , 104 , 9 ) ;
- primitive ( 623 , 104 , 10 ) ;
- primitive ( 624 , 104 , 11 ) ;
- primitive ( 625 , 104 , 12 ) ;
- primitive ( 626 , 104 , 13 ) ;
- primitive ( 627 , 104 , 14 ) ;
- primitive ( 628 , 104 , 15 ) ;
- primitive ( 629 , 104 , 16 ) ;
- primitive ( 630 , 105 , 2 ) ;
- hash [ 3262 ] .v.RH = 630 ;
- eqtb [ 3262 ] = eqtb [ curval ] ;
- primitive ( 631 , 105 , 4 ) ;
- primitive ( 632 , 105 , 3 ) ;
- primitive ( 654 , 86 , 0 ) ;
- hash [ 3268 ] .v.RH = 654 ;
- eqtb [ 3268 ] = eqtb [ curval ] ;
- primitive ( 751 , 4 , 128 ) ;
- primitive ( 752 , 5 , 129 ) ;
- hash [ 3259 ] .v.RH = 752 ;
- eqtb [ 3259 ] = eqtb [ curval ] ;
- primitive ( 753 , 5 , 130 ) ;
- hash [ 3263 ] .v.RH = 754 ;
- hash [ 3264 ] .v.RH = 754 ;
- eqtb [ 3264 ] .hh.b0 = 9 ;
- eqtb [ 3264 ] .hh .v.RH = memtop - 11 ;
- eqtb [ 3264 ] .hh.b1 = 1 ;
- eqtb [ 3263 ] = eqtb [ 3264 ] ;
- eqtb [ 3263 ] .hh.b0 = 114 ;
- primitive ( 818 , 80 , 0 ) ;
- primitive ( 819 , 80 , 1 ) ;
- primitive ( 820 , 80 , 2 ) ;
- primitive ( 821 , 80 , 3 ) ;
- primitive ( 822 , 80 , 4 ) ;
- primitive ( 823 , 80 , 5 ) ;
- primitive ( 824 , 80 , 6 ) ;
- primitive ( 825 , 80 , 7 ) ;
- primitive ( 873 , 14 , 0 ) ;
- primitive ( 874 , 14 , 1 ) ;
- primitive ( 875 , 26 , 4 ) ;
- primitive ( 876 , 26 , 0 ) ;
- primitive ( 877 , 26 , 1 ) ;
- primitive ( 878 , 26 , 2 ) ;
- primitive ( 879 , 26 , 3 ) ;
- primitive ( 880 , 27 , 4 ) ;
- primitive ( 881 , 27 , 0 ) ;
- primitive ( 882 , 27 , 1 ) ;
- primitive ( 883 , 27 , 2 ) ;
- primitive ( 884 , 27 , 3 ) ;
- primitive ( 204 , 28 , 5 ) ;
- primitive ( 208 , 29 , 1 ) ;
- primitive ( 210 , 30 , 99 ) ;
- primitive ( 902 , 21 , 1 ) ;
- primitive ( 903 , 21 , 0 ) ;
- primitive ( 904 , 22 , 1 ) ;
- primitive ( 905 , 22 , 0 ) ;
- primitive ( 274 , 20 , 0 ) ;
- primitive ( 906 , 20 , 1 ) ;
- primitive ( 907 , 20 , 2 ) ;
- primitive ( 813 , 20 , 3 ) ;
- primitive ( 908 , 20 , 4 ) ;
- primitive ( 815 , 20 , 5 ) ;
- primitive ( 909 , 20 , 105 ) ;
- primitive ( 910 , 31 , 99 ) ;
- primitive ( 911 , 31 , 100 ) ;
- primitive ( 912 , 31 , 101 ) ;
- primitive ( 913 , 31 , 102 ) ;
- primitive ( 928 , 43 , 1 ) ;
- primitive ( 929 , 43 , 0 ) ;
- primitive ( 938 , 25 , 12 ) ;
- primitive ( 939 , 25 , 11 ) ;
- primitive ( 940 , 25 , 10 ) ;
- primitive ( 941 , 23 , 0 ) ;
- primitive ( 942 , 23 , 1 ) ;
- primitive ( 943 , 24 , 0 ) ;
- primitive ( 944 , 24 , 1 ) ;
- primitive ( 45 , 47 , 1 ) ;
- primitive ( 217 , 47 , 0 ) ;
- primitive ( 975 , 48 , 0 ) ;
- primitive ( 976 , 48 , 1 ) ;
- primitive ( 719 , 50 , 16 ) ;
- primitive ( 720 , 50 , 17 ) ;
- primitive ( 721 , 50 , 18 ) ;
- primitive ( 722 , 50 , 19 ) ;
- primitive ( 723 , 50 , 20 ) ;
- primitive ( 724 , 50 , 21 ) ;
- primitive ( 725 , 50 , 22 ) ;
- primitive ( 726 , 50 , 23 ) ;
- primitive ( 728 , 50 , 26 ) ;
- primitive ( 727 , 50 , 27 ) ;
- primitive ( 977 , 51 , 0 ) ;
- primitive ( 731 , 51 , 1 ) ;
- primitive ( 732 , 51 , 2 ) ;
- primitive ( 714 , 53 , 0 ) ;
- primitive ( 715 , 53 , 2 ) ;
- primitive ( 716 , 53 , 4 ) ;
- primitive ( 717 , 53 , 6 ) ;
- primitive ( 995 , 52 , 0 ) ;
- primitive ( 996 , 52 , 1 ) ;
- primitive ( 997 , 52 , 2 ) ;
- primitive ( 998 , 52 , 3 ) ;
- primitive ( 999 , 52 , 4 ) ;
- primitive ( 1000 , 52 , 5 ) ;
- primitive ( 729 , 49 , 30 ) ;
- primitive ( 730 , 49 , 31 ) ;
- hash [ 3261 ] .v.RH = 730 ;
- eqtb [ 3261 ] = eqtb [ curval ] ;
- primitive ( 1019 , 92 , 1 ) ;
- primitive ( 1020 , 92 , 2 ) ;
- primitive ( 1021 , 92 , 4 ) ;
- primitive ( 1022 , 96 , 0 ) ;
- primitive ( 1023 , 96 , 1 ) ;
- primitive ( 1024 , 96 , 2 ) ;
- primitive ( 1025 , 96 , 3 ) ;
- primitive ( 1039 , 93 , 0 ) ;
- primitive ( 1040 , 93 , 1 ) ;
- primitive ( 1041 , 94 , 0 ) ;
- primitive ( 1042 , 94 , 1 ) ;
- primitive ( 1043 , 94 , 2 ) ;
- primitive ( 1044 , 94 , 3 ) ;
- primitive ( 1045 , 94 , 4 ) ;
- primitive ( 1046 , 94 , 5 ) ;
- primitive ( 1047 , 94 , 6 ) ;
- primitive ( 280 , 84 , 4627 ) ;
- primitive ( 284 , 84 , 5139 ) ;
- primitive ( 281 , 84 , 4755 ) ;
- primitive ( 282 , 84 , 4883 ) ;
- primitive ( 283 , 84 , 5011 ) ;
- primitive ( 337 , 84 , 5573 ) ;
- primitive ( 277 , 85 , 4579 ) ;
- primitive ( 278 , 85 , 4595 ) ;
- primitive ( 279 , 85 , 4611 ) ;
- primitive ( 793 , 98 , 0 ) ;
- primitive ( 803 , 98 , 1 ) ;
- primitive ( 1063 , 77 , 0 ) ;
- primitive ( 1064 , 77 , 1 ) ;
- primitive ( 143 , 99 , 0 ) ;
- primitive ( 144 , 99 , 1 ) ;
- primitive ( 145 , 99 , 2 ) ;
- primitive ( 1073 , 99 , 3 ) ;
- primitive ( 1074 , 60 , 1 ) ;
- primitive ( 1075 , 60 , 0 ) ;
- primitive ( 1076 , 58 , 0 ) ;
- primitive ( 1077 , 58 , 1 ) ;
- primitive ( 1083 , 57 , 4755 ) ;
- primitive ( 1084 , 57 , 4883 ) ;
- primitive ( 1085 , 19 , 0 ) ;
- primitive ( 1086 , 19 , 1 ) ;
- primitive ( 1087 , 19 , 2 ) ;
- primitive ( 1088 , 19 , 3 ) ;
- primitive ( 1129 , 59 , 0 ) ;
- primitive ( 452 , 59 , 1 ) ;
- writeloc = curval ;
- primitive ( 1130 , 59 , 2 ) ;
- primitive ( 1131 , 59 , 3 ) ;
- primitive ( 1132 , 59 , 4 ) ;
- nonewcontrolsequence = true ;
- }
- #endif /* INITEX */
- texbody () {
- /* 1 9998 9999 */ texbody_regmem
- integer bufindx ;
- history = 3 ;
- if ( readyalready == 314159L )
- goto lab1 ;
- setpaths () ;
- bad = 0 ;
- if ( ( halferrorline < 30 ) || ( halferrorline > errorline - 15 ) )
- bad = 1 ;
- if ( maxprintline < 60 )
- bad = 2 ;
- if ( dvibufsize % 8 != 0 )
- bad = 3 ;
- if ( 1100 > memtop )
- bad = 4 ;
- if ( 2551 > 3000 )
- bad = 5 ;
- if ( maxinopen >= 128 )
- bad = 6 ;
- ;
- #ifdef INITEX
- if ( ( memmin != 0 ) || ( memmax != memtop ) )
- bad = 10 ;
- #endif /* INITEX */
- if ( ( memmin > 0 ) || ( memmax < memtop ) )
- bad = 10 ;
- if ( ( 0 > 0 ) || ( 255 < 127 ) )
- bad = 11 ;
- if ( ( 0 > 0 ) || ( 65535L < 32767 ) )
- bad = 12 ;
- if ( ( 0 < 0 ) || ( 255 > 65535L ) )
- bad = 13 ;
- if ( ( memmin < 0 ) || ( memmax >= 65535L ) || ( -0 - memmin > 65536L ) )
- bad = 14 ;
- if ( ( 0 < 0 ) || ( fontmax > 255 ) )
- bad = 15 ;
- if ( fontmax > 256 )
- bad = 16 ;
- if ( ( savesize > 65535L ) || ( maxstrings > 65535L ) )
- bad = 17 ;
- if ( bufsize > 65535L )
- bad = 18 ;
- if ( 255 < 255 )
- bad = 19 ;
- if ( 7621 > 65535L )
- bad = 21 ;
- if ( 9 > filenamesize )
- bad = 31 ;
- if ( 2 * 65535L < memtop - memmin )
- bad = 41 ;
- if ( bad > 0 )
- {
- #ifdef RISC_OS
- /* PENDING: FIX THIS BY HAND */
- /*
- (void) fprintf( stdout , "%s%s%ld\n", "Ouch---my internal constants have been clobbered!" , "---case " , (long)bad ) ;
- */
- #else
- (void) fprintf( stdout , "%s%s%ld\n", "Ouch---my internal constants have been clobbered!" , "---case " , (long)bad ) ;
- #endif
- goto lab9999 ;
- }
- initialize () ;
- ;
- #ifdef INITEX
- if ( ! getstringsstarted () )
- goto lab9999 ;
- initprim () ;
- #endif /* INITEX */
- readyalready = 314159L ;
- lab1: selector = 17 ;
- tally = 0 ;
- termoffset = 0 ;
- fileoffset = 0 ;
- #ifdef RISC_OS
- (void) Fput(stdout, "This is TeX, C Version 2.9");
- /* ADDED a FPUT macro for this case! */
- #else
- (void) fprintf( stdout , "%s", "This is TeX, C Version 2.9" ) ;
- #endif
- if ( formatident == 0 )
- #ifdef RISC_OS
- (void) Fputs(stdout, " (no format preloaded)") ;
- #else
- (void) fprintf( stdout , "%s\n", " (no format preloaded)" ) ;
- #endif
- else {
-
- print ( formatident ) ;
- println () ;
- }
- termflush ( stdout ) ;
- jobname = 0 ;
- nameinprogress = false ;
- outputfilename = 0 ;
- {
- {
- inputptr = 0 ;
- maxinstack = 0 ;
- inopen = 0 ;
- maxbufstack = 0 ;
- paramptr = 0 ;
- maxparamstack = 0 ;
- bufindx = bufsize ;
- do {
- buffer [ bufindx ] = 0 ;
- decr ( bufindx ) ;
- } while ( ! ( bufindx == 0 ) ) ;
- scannerstatus = 0 ;
- warningindex = 0 ;
- first = 1 ;
- curinput .statefield = 33 ;
- curinput .startfield = 1 ;
- curinput .indexfield = 0 ;
- line = 0 ;
- curinput .namefield = 0 ;
- forceeof = false ;
- alignstate = 1000000L ;
- if ( ! initterminal () )
- goto lab9999 ;
- curinput .limitfield = last ;
- first = last + 1 ;
- }
- if ( ( formatident == 0 ) || ( buffer [ curinput .locfield ] == 38 ) )
- {
- if ( formatident != 0 )
- initialize () ;
- if ( ! openfmtfile () )
- goto lab9999 ;
- if ( ! loadfmtfile () )
- {
- wclose ( fmtfile ) ;
- goto lab9999 ;
- }
- wclose ( fmtfile ) ;
- while ( ( curinput .locfield < curinput .limitfield ) && ( buffer [
- curinput .locfield ] == 32 ) ) incr ( curinput .locfield ) ;
- }
- if ( ( eqtb [ 5315 ] .cint < 0 ) || ( eqtb [ 5315 ] .cint > 127 ) )
- decr ( curinput .limitfield ) ;
- else buffer [ curinput .limitfield ] = eqtb [ 5315 ] .cint ;
- dateandtime ( eqtb [ 5287 ] .cint , eqtb [ 5288 ] .cint , eqtb [ 5289 ]
- .cint , eqtb [ 5290 ] .cint ) ;
- magicoffset = strstart [ 745 ] - 9 * 16 ;
- if ( interaction == 0 )
- selector = 16 ;
- else selector = 17 ;
- if ( ( curinput .locfield < curinput .limitfield ) && ( eqtb [ 4627 +
- buffer [ curinput .locfield ] ] .hh .v.RH != 0 ) )
- startinput () ;
- }
- initstrptr = strptr ;
- initpoolptr = poolptr ;
- history = 0 ;
- maincontrol () ;
- finalcleanup () ;
- lab9998: closefilesandtermina () ;
- lab9999: {
-
- termflush ( stdout ) ;
- readyalready = 0 ;
- if ( ( history != 0 ) && ( history != 1 ) ) {
- uexit ( 1 ) ;
- } else {
- uexit ( 0 ) ;
- }
- }
- }
-